home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1996 #14 / Monster Media No. 14 (April 1996) (Monster Media, Inc.).ISO / games_a / vga_faq.zip / GAMEBOY.FAQ < prev   
Text File  |  1996-01-03  |  65KB  |  1,379 lines

  1.  
  2.  
  3.  
  4.                                Nintendo GameBoy
  5.                           FREQUENTLY ASKED QUESTIONS
  6.  
  7.                      Maintained by  Marat Fayzullin [FMS]
  8.                            EMAIL:  fms@wam.umd.edu
  9.                                  IRC: RST38h
  10.                      WWW: http://ww.cs.umd.edu/users/fms/
  11.  
  12.                                  version 3.1b
  13.                                   8/22/1995
  14.  
  15.  
  16.  
  17. 1.  GameBoy: General Description
  18. 2.  GameBoy-related resources on the Net
  19. 3.  Cheats, Passwords, Strategies, etc.
  20. 4.  List of the best games
  21. 5.  GameGenie Questions
  22. 6.  Various questions
  23. 7.  Programming, Hardware, etc.
  24. *** Unanswered Questions
  25.  
  26.  
  27.   People, could somebody subscribing for "Electronic Gaming World" and other
  28. similar magazines go through the "S.W.A.T." sections in them and write down
  29. all GameBoy cheats/passwords/etc. not included into this file? I would
  30. appreciate your help.
  31.  
  32.   Also, there is a lot of GameGenie codes posted recently in r.g.v.nintendo
  33. and GB mailing list which are not listed in the official Galoob updates. Could
  34. somebody compile these codes into a separate list?
  35.  
  36.   Another thing needed by me and many other people on the Net who requested it
  37. is map for GB Metroid. If you have this map in some magazine or a strategy
  38. guide, *PLEASE* scan it and send the .GIF [or whatever file you get] to me. If
  39. you don't have a scanner, xerox it and send copy to me by snail-mail. My
  40. address is
  41.  
  42.  Marat Fayzullin
  43.  6304 Hampton Place
  44.  Elkridge, MD 21227
  45.  USA
  46.  
  47.   
  48. ********************* I. GameBoy: General Description ************************
  49.  
  50.     CPU:  8-bit Z80 work-alike at 4.194304MHz
  51.     RAM:  8kB internal
  52.     ROM:  256kBit, 512kBit, 1MBit, 2MBit and 4MBit cartridges are known
  53.           (32kB, 64kB, 128kB, 256kB and 512kB). Probably, there are 16kB
  54.           cartridges as well.
  55.     VRAM: 8kB internal
  56.  
  57.     Sound: 4 channels each of which can be mapped either to the left
  58.            or to the right or to both speakers
  59.     
  60.     Video: 
  61.       Display: Reflective LCD 160x144 dots
  62.       Colors:  4 shades of gray
  63.       Sprites: 40 sprites of either 8x8 or 8x16 [switchable]
  64.  
  65.     Communications: Serial port
  66.       Up to 4 Gameboys can be connected together using these ports
  67.       
  68.     Power: 6 Volts, 0.7 Watts 
  69.       4 AA Batteries             - 35 hours
  70.                        OR
  71.       Rechargable battery (NAKI) - 12 hours
  72.            
  73. * What are the advantages of GB in comparison with other portable videogames?
  74.  
  75.   The same reflective LCD screen which is considered to be the weak point of
  76. GameBoy, is its advantage. Other systems, such as Atari Lynx or SEGA GameGear,
  77. use backlighted color screens which consume several times more power than
  78. reflective LCD of GB. Thus, these systems need 6 AA batteries instead of 4 AAs
  79. needed by GB and drain these batteries in about 6 hours. Also, dots on GB's
  80. LCD are much smaller than dots on the color screens of other portables which
  81. [given that you have a good light source nearby] means that GB's LCD looks
  82. crisper. The other advantage of GameBoy is that it is the only portable
  83. videogame you can actually PUT INTO YOUR POCKET. Both Lynx and GameGear are
  84. too big for it. Speaking about variety of games available for GB, I would
  85. *NOT* consider it an advantage of GB if we are talking solely about its
  86. technical characteristics. Amount of software written for the system has
  87. nothing to do with the system's hardware architecture. It is rather determined
  88. by commercial success of the system and, in fact, by how it is marketed. There
  89. are many technologically superior systems which just didn't make it because of
  90. the poor marketing [TurboGrafx is an example].
  91.  
  92.  
  93. ************** II. GameBoy-related Resources on the Net *************
  94.  
  95. 1.  GameBoy WWW Site -- Marat Fayzullin [fms@wam.umd.edu]
  96.     * http://www.cs.umd.edu/users/fms/GameBoy/
  97.  
  98. 2.  GameBoy FAQ [this file] -- Marat Fayzullin [fms@wam.umd.edu]
  99.     * http://www.cs.umd.edu/users/fms/stuff/gameboy.faq
  100.     * ftp://ftp.netcom.com/pub/vidgames/faqs/
  101.  
  102. 3.  GameBoy Zelda FAQ -- Michael Evans [evansmj@NeXTwork.Rose-Hulman.Edu]
  103.  
  104. 4.  Zelda Strategy Guide -- Christer Ericson [Christer.Ericson@cs.umu.se]
  105.  
  106. 5 . Nick's GB Game Ratings -- Nick Paiement [paiement@info.polymtl.ca]
  107.     * Send mail with word "get_gameboy" in the subject to
  108.       paien00@dmi.usherb.ca.
  109.  
  110. 6.  GameGenie codes
  111.     * ftp://ftp.netcom.com/pub/vidgames/gamegenie/
  112.  
  113. 7.  GameBoy Mail-Server -- M. S. Manley [manley@iies.ecn.purdue.edu]
  114.     * gameboy@expert.cc.purdue.edu
  115.       Send mail with word archive in the subject and a list of
  116.       commands in the body. First, send a single command "help"
  117.       to get a list of other commands.
  118.  
  119. 8.  GameBoy Mailing List -- Andy Norman [ange@hplb.hpl.hp.com]
  120.     * gameboy@cuckoo.hpl.hp.com
  121.       To subscribe, unsubscribe or get information send mail to
  122.       gameboy-request@cuckoo.hpl.hp.com.
  123.  
  124. 9.  Virtual GameBoy emulator -- Marat Fayzullin [fms@wam.umd.edu]
  125.     * http://www.cs.umd.edu/users/fms/GameBoy/VGB.html
  126.  
  127. 10. Backup Units:
  128.     * http://www.gate.net/~tramtane/
  129.  
  130. 11. SuperGameBoy FAQ -- Jeff Bogumil [NC500140@nccvax.wvnet.edu]
  131.     * http://reality.sgi.com/employees/portuesi/sgb_faq.html
  132.     * ftp://ftp.netcom.com/pub/vi/vidgames/faqs/supergb.txt
  133.  
  134. 12. SuperGameBoy WWW -- Michael Portuesi
  135.     * http://reality.sgi.com/employees/portuesi/sgb.html
  136.  
  137. 13. GameBoy Development FTP
  138.     * ftp://ftp.webcom.com/pub/cdoty/gameboy/
  139.  
  140.  
  141. ****************** III. Cheats, Passwords, Strategies, etc. ******************
  142.  
  143. [?] - this cheat didn't work for me
  144. ------------------------------------------------------------------------------
  145. 1. Castlevania II: Belmont's Revenge passwords
  146.  
  147. H - Heart   C - Candle   B - Ball   . - Space
  148.    
  149. Central Castle:        HBC.    Hard Mode (like Castlevania I): .B.B
  150. Belmont's son's realm: HCBB    Music Test:                     HHHH
  151. Count Dracula:         BHCH    Easy Mode (9 lives):            CCHH
  152. ------------------------------------------------------------------------------
  153. 2. Nemesis cheats
  154.  
  155. Pause the game and press these buttons:
  156.    
  157. To get SPEED and SHIELD:                     BBBBBAAAAA
  158. To get SHADOWFIGHTERS,SHIELD,LASER,MISSILES: UUDDLRLRBA
  159.    
  160. ( U-[UP]  D-[DOWN]  L-[LEFT]  R-[RIGHT]  A-[A]  B-[B] )
  161. ------------------------------------------------------------------------------
  162. 3. Fortified Zone passwords: 1111,3375,1681,1122
  163. ------------------------------------------------------------------------------
  164. 4. Pipe Dream passwords:
  165.  
  166. 5:HAHA  9:GRIN  13:REAP  17:SEED  21:GROW  25:TALL  29:YALI
  167. ------------------------------------------------------------------------------
  168. 5. Last password in Dr.Franken: JHT87 [HEART]V7VN VG20Z
  169. ------------------------------------------------------------------------------
  170. 6. How to get to Medusa Cave in Final Fantasy Adventure?
  171.  
  172. Find an oasis with two palm trees and walk in 8-like manner around them:
  173.  
  174.                  +->>-+ <<-+
  175.                  | PP | PP |
  176.                  +-<< +->>-+
  177. ------------------------------------------------------------------------------
  178. 7. Faceball 2000   
  179.    
  180. Start on level one. Find an exit. Shoot it five times, then explore the level
  181. some more. You will find extra lives and speed-up power-ups. You will also
  182. have five exits to choose from, each of which takes you to a different level
  183. (level select).
  184.  
  185.                                      Contributed by Mark Kaufman.
  186. ------------------------------------------------------------------------------
  187. 8. Zen the Intergalactic Ninja passwords:
  188.  
  189. C - Can   B - Bottle   T - Tire   A - cArdboard box   . - Space
  190.  
  191. Passwords:  [.CBB]  [T.AT]  [CBAB] ...and the final one: [BTCC]
  192. ------------------------------------------------------------------------------
  193. 9. Cheats in Final Fantasy Legend II:
  194.  
  195. On some stage of the game double-clicking on the Trashcan [or, maybe, trying
  196. to "move" Trashcan to the different position in the list] will allow to
  197. increase Agility or Strength of the party members. This trick appeared only
  198. once and I couldn't repeat it. I also got responses from two people who
  199. encountered similar effect. Everybody who has more info on this trick, send
  200. email to me.
  201.  
  202. Here is some mail I got:
  203. "I clicked twice on the trashcan, then the list showing my 4 players was
  204. shown. I clicked on one of them and his strength and agility was increased.
  205. After increasing my other players strength many times with this method, an
  206. error, or glith occured, for my pieces of mana went haywire. When I would
  207. use the trashcan method, the number of mana pieces would go down. And when I
  208. used the compass to locate the pieces, it would give me some bizarre number.
  209. If I can remember, I had about 53-57 pieces collected before I began
  210. increasing my player's status. Also, I had to start a new game after that
  211. because the game wouldn't register that I had any mana, and I couldn't go
  212. anywhere in the pillar of sky." -- JSem33@aol.com
  213.  
  214. Another interesting cheat known as "Dragon Ride":
  215.   In the race world, with mutants in your party, your can ride the dragon
  216. off the track and around the world. Simply fight the boss ones with screen
  217. icons on the track (the ones with the magi) until a mutant gets teleport.
  218. Save before you fight the monsters; that way, if you don't get teleport, you
  219. can just press all four buttons to reset the game and try again. Use this
  220. skill while on the dragon. You can then ride around the world quickly, and
  221. move through walls. You can go all the way to the end of the game and get cool
  222. weapons by going through celestial doors backwards, and then zooming around to
  223. a higher level exit. The dragon will occasionally be lost during story
  224. sections of the game, but can always be retreived by starting a race again.
  225. NEVER CROSS THE FINISH LINE!!!
  226.  
  227.                                    Contributed by Javan Gargus
  228. ------------------------------------------------------------------------------
  229. 10. Tecmo Bowl codes [contributed by Kelly Gillilan]:
  230.    
  231. Invisible Team: 397BFFA5
  232.  
  233. Mirror Matches:
  234.  
  235. Washington    5B7FBFA3   Denver    CFBFF7A0   Indianapolis 43AFFEAC
  236. Miami         46AFFDAB   Cleveland 49AFFBA9   L.A.         969FDFA5
  237. San Francisco 9C3F7FA5   Dallas    63AEFFA5   New York     269DFFA1
  238. Chicago       697BFFA5   Minnesota AC37FFA9
  239. ------------------------------------------------------------------------------
  240. 11. Stage select in Penguin Wars:
  241.  
  242. At the character select screen, pick the character, then press L+B, then press
  243. A and [START].
  244. ------------------------------------------------------------------------------
  245. 12. Some interesting passwords for QBillion: WALL,IDEA,NOON
  246. ------------------------------------------------------------------------------
  247. 13. Some interesting codes in Shanghai:
  248.  
  249. MAN - tough level   REV - reversed tiles   STF - credits
  250. ------------------------------------------------------------------------------
  251. 14. Invisible opponents in SoccerMania:
  252.  
  253. At the title screen, press UUDDLRLRBA, then press [START]
  254. ------------------------------------------------------------------------------
  255. 15. Passwords for Korodice:
  256.  
  257.          [4]    [5]    [6]    [7]    [8]    [9]    [10]
  258. EASY     94347  68890  24486  49320  28076  96545  83193
  259. AVERAGE  22307  64422  43059  46403  50136  17443  99007
  260. ------------------------------------------------------------------------------
  261. 16. Selected passwords for Mickey Mouse/Bugs Bunny:
  262.  
  263. 10:WZFS  20:ZTPZ  30:WYCZ  40:TX9W  50:2TWX  60:YTKX  70:SHE2  80:XHO2
  264. ------------------------------------------------------------------------------
  265. 17. Snoopy's Magic Show passwords:
  266.  
  267. 1N1B  XZ10  V5K2  CA1H  424V  VS10  C417  CS1V  VUY0  12ET  2UV4  VU12  Z2JH
  268. 2207  C21I  ZUUV  7UBB  BE10  CE1Q  HEO4  CEIB  VHNX  1H11  B6N0  CD1T  CD1D
  269. ------------------------------------------------------------------------------
  270. 18. Fish Killer passwords:
  271.  
  272. 21:UIRE  22:CXMT  23:HOBL  31:KAPG  32:SNWD  33:FQJV  A1:PAHN  A2:ESZC
  273. ------------------------------------------------------------------------------
  274. 19. Battle Ping Pong codes:
  275.  
  276. 7822   6524   1604   0781   5802   8731   0511   1199
  277. ------------------------------------------------------------------------------
  278. 20. Burai Fighter Deluxe passwords:
  279.  
  280. HGKM  GBAL  IDCP  CPFJ  MHCB  LEOJ  JJOE  ODEN  COHL  DKLF  KDPI  AFKP
  281. ------------------------------------------------------------------------------
  282. 21. Migrain Acclaim passwords: 0742,X480,586Y,3081
  283. ------------------------------------------------------------------------------
  284. 22. Blodia passwords:
  285.  
  286. AIJD  DIFP  DJGN  BKQF  ANPD  CNGL  APQD  DQMQ  BNCE  CPHI
  287. ------------------------------------------------------------------------------
  288. 23. Solomon's Club passwords: GZ3ZNN,2Z3NND,CZ3DND
  289. ------------------------------------------------------------------------------
  290. 24. Awesome Klax pattern:
  291.  
  292.   last brick --->4 2 1 1 2
  293.                  1 4 3 2 1
  294.                  3 3 4 3 3
  295.                  1 1 2 1 1
  296.                  1 2 1 2 1
  297. ------------------------------------------------------------------------------
  298. 25. Mega Man games:
  299.  
  300.    Mega Man           Mega Man 2           Mega Man 3
  301.  
  302.      1234            1234     1234        1234
  303.    A  **           A ***    A  * *      A *
  304.    B    *          B    *   B   **      B * *
  305.    C  **           C ***    C **        C  **
  306.    D               D *      D  **       D
  307. ------------------------------------------------------------------------------
  308. 26. Rolan's Curse:
  309.  
  310. QKMTTQHP (fire wand/magic axe)    FRTTTGTP (sword/power crystal)
  311.          at maximum power, only 25 sword hits to kill Barius.
  312. [Check these passwords again - I have information that they don't work]
  313. ------------------------------------------------------------------------------
  314. 27. Selected paswords for Navy Blue:
  315.  
  316. 65:MVCROEOX (CRUISER)      89:YLNFEMHQ (TARTAN)   ??:KAFSKYLG (TOMCAT)
  317. 73:MBZRLYOC (SEA SPARROW)  ??:YLNYDMIS (CARRIER)  ??:FLTHVMXP (TRIDENT)
  318. 81:MUDLTEOH (TOMAHAWK)     ??:FKMWCMHK (FANTOM)   ??:FLTCWMHN (FINALE)
  319. ------------------------------------------------------------------------------
  320. 28. Final boss in Bionic Commando:
  321.  
  322. S - Square  T - Triangle  C - Circle
  323.  
  324.     ABCDEF
  325.   1 SCSSCC
  326.   2 TS TSC
  327.   3 TSC TC
  328.   4 CT CCT
  329. ------------------------------------------------------------------------------
  330. 29. Mortal Kombat:
  331.  
  332. In order to play as Goro,
  333.  
  334. 1.  Beat the game normally.
  335. 2.  Wait for credits to scroll by.
  336. 3.  When "The End" appears, hold UP+LEFT+SELECT+A
  337. 4.  Enter initials and press A
  338. 5.  Play as Goro!
  339.  
  340.   Playing as Goro, hold A+B and then press DOWN. Goro [you] will disappear and
  341. the time will go much faster. Your opponent will be constantly repeating same
  342. move and won't be able to hit you.
  343.   
  344. These cheats were contributed by Jim Hsu and Timothy A. Meushaw
  345. ------------------------------------------------------------------------------
  346. 30. Bill and Ted's level passwords:
  347.  
  348. 2: 555-4239   3: 555-8942   5: 555-4118   6: 555-8471   7: 555-2989
  349. 8: 555-6737   9: 555-6429  10: 555-1881
  350. ------------------------------------------------------------------------------
  351. 31. Passwords for Krusty's Fun House:
  352.  
  353. 2: MC BAIN    3: MILHOUSE   4: CMBURNS    5: PRINCESS
  354. ------------------------------------------------------------------------------
  355. 32. Passwords for Prince of Persia:
  356.  
  357.   A password is an 8-digit number abcdefgh. The first 3 digits (abc) are
  358. check-digits, the next one (d) codes the number of lives, the next two (ef)
  359. code the minutes left and the last two (gh) designate the level. How to
  360. construct your own password:
  361.  
  362. 1. Choose your level and jot it down as two digits and reverse.
  363.    Example: choose level 8 and write down 80.
  364. 2. Choose the number of minutes left and write it down in two digits,
  365.    reverse, and append it to the left of the level.
  366.    Example: choose 59 minutes, which gives 9580.
  367. 3. Choose the number of lifes (1 digit) and append it to the left.
  368.    Example: choose 7 lifes to obtain 79580.
  369. 4. Call the result DEFGH and construct ABC as follows:
  370.      C = G + H (subtract 10 if necessary)
  371.      B = E + F (subtract 10 if necessary)
  372.      A = C + D (subtract 10 if necessary)
  373.    This way the 8-digit number ABCDEFGH is obtained.
  374.    Example: C = 8 + 0 = 8
  375.             B = 9 + 5 = 4
  376.             A = 8 + 7 = 5
  377.             The result is 54879580.
  378. 5. Generate abcdefgh from ABCDEFGH by substituting each digit
  379.    according to the table at the bottom. In our example 54879580
  380.    becomes the password 01928095 which is good for 7 lifes and 59
  381.    minutes on level 8.
  382.    Table: FROM  0  1  2  3  4  5  6  7  8  9
  383.           INTO  5  4  7  6  1  0  3  2  9  8
  384. ------------------------------------------------------------------------------
  385. 33. Speedy Gonzales passwords:
  386.  
  387. Mexico:  500999    Forest: 343003    Desert: 830637
  388. Country: 812171    Island: 522472
  389. ------------------------------------------------------------------------------
  390. 34. Sumo Fighter passwords:
  391.  
  392. 2-1: 532773    3-1: 355530    4-1: 524358    5-1: 650594
  393. 2-2: 753442    3-2: 526158    4-2: 780554    5-2: 105960
  394. 2-3: 362459    3-3: 085530    4-3: 546127    5-3: 155965
  395.  
  396. Final:   968158
  397. ------------------------------------------------------------------------------
  398. 35. Warioland cheat:
  399.  
  400.   Pause the game, then hit select 16 times. A box should appear over lives,
  401. time, or coins. Using A and B buttons you can increase all three to their
  402. maximum. This is available on each level.
  403. ------------------------------------------------------------------------------
  404. 36. Monster Max passwords:
  405. 4.0  -8?-35R-
  406. 5.0  273?35RZ
  407. 6.0  JZVHMV3D
  408. 7.0  L5VP79N7  (This is actually 6.3, just use the lift to get to 7.0)
  409. 8.0  PL1H17P-  (The 1s may be Is, I'm not sure)
  410. 9.0  MQLYTY2D
  411. 0.0  -J#X5DKP  (Probably last level. Only one stage. Haven't finished.)
  412. ------------------------------------------------------------------------------
  413.  
  414. ************************* Other cheats, passwords, etc. **********************
  415.  
  416. Adventure Island      : Stage Select : RLRLABAB at the title screen
  417. Adventure Island 2    : Power Up     : 0894
  418. Amazing Penguin       : Level 37     : 916328
  419. Amazing Tater         : Floor 3      : YBTF5ZZFT2
  420. Amida                 : Passwords    : TLKSS, LEIQX, VOTAJ
  421. Atomic Punk           : Level 50     : B0MNDPBL3NCB3L2H2DJJ
  422. Avenging Spirit       : Expert mode  : U+A+B at the title screen
  423. Batman                : Sound Test   : U+R+START at the title screen
  424. Battle Bull           : Level 48     : $F**
  425. BattleToads 2         : 5 toads      : Holding D+A+B press [START]
  426. Boomer's Adventure    : Level 55     : ANCIENT
  427. Boxxle                : Lvl 11, Rm 8 : Q*HT * = Spade
  428. Boxxle 2              : Level 5      : 0K84
  429. Brainbender           : Level 5      : 3081
  430. Bubble Bobble         : Level 100    : KZ5J
  431.                       : Stage Select : KGBJ, then use L to select level
  432. Bugs Bunny            : Level 79     : XHO2
  433. Bugs Bunny 2          : Level 27     : KING
  434. Burai Fighter Deuxe   : Level 5      : DKLF
  435. Catrap                : Level 100    : R61H
  436. Chase HQ              : Stage Select : Holding D+A+B press [START]
  437. Contra                : Extra Lives  : UUDDLRLRABAB[SELECT][START]
  438. Cyraid                : Last Level   : RUGGER
  439. Dead Heat Scramble    : Stage Select : BBBBBBBBAAAAAAAA then B one less time
  440.                       :              : than the number of wanted level
  441. Deadalian Opus        : Stage Select : ZEAL
  442. Dick Tracy            : Level 5      : 56115
  443. Extra Bases           : 7W 0L        : 2CCZ
  444. Final Fantasy Leg. I  : Sound Test   : D+[START]+B at the title screen [?]
  445. Final Fantasy Leg. II : Sound Test   : [SELECT]+B+[START] at title screen
  446. Fish Dude             : Stage C-3    : SE
  447. Fist Of The North Star: Last Level   : XKP72QNVHRJGU5
  448. Flappy Special        : ?            : AK00
  449. Flash                 : Level 13     : FUNHOUS
  450. Fortified Zone        : Level 4      : 1122
  451. Gargoyle's Quest      : Last Level   : SWXE-CBFJ
  452. Godzilla              : Last Level   : JXRB7K&948HPD32#JN
  453. GO! GO! Tank          : Cheat Mode   : LURULLURULUL[START] at title screen
  454. Hong Kong             : Test Mode    : A+B+[START] at the second screen
  455.                       : Sound Test   : B+[START] at the second screen
  456.                       : End Screen   : A+[START] at the second screen
  457. Hunt for Red October  : Stage Select : B[SELECT]LR[START] at title screen
  458. Hyper Loderunner      : Level Select : Enter QM-0388 as passcode
  459. Kirby's Dream Land    : Cheat Mode   : D+[SELECT]+B
  460. Lock & Chase          : ?            : Press AABBABB at the title screen
  461. Mercenary Force       : Stage Select : Holding U+[SELECT]+A+B press [START]
  462. Navy Blue             : End          : FLTCWMHN
  463. Ninja Boy             : Stage Select : UUDDABAB, holding A press [START]  
  464.                       : Continue     : Holding A press [START]
  465. Operation C           : Stage Select : UUDDLRLRBABA[START] at full title screen
  466. Pitman                : Stage Select : Q16KXW [Stage 95]
  467. Power Mission         : Level 11     : LRDMR1
  468. Prince of Persia      : Final Battle : 71196464
  469. Q Billion             : Stage Select : TOIL
  470. Raging Fighter        : Plr vs. Plr  : UUDDLRLRB, then A for dk., B for normal
  471. Roger Rabbit          : Level 6      : RTJBWW43
  472. Rolan's Curse         : End          : PQRJLNPC
  473. Snoopy's Magic Show   : Level 58     : V5YO
  474. Snow Bros. Jr.        : Stage Select : Holding U+[SELECT]+B press start at
  475.                       :              : the title screen
  476. Solomon's Club        : Level 4-10   : QDDHSY8
  477. Spanky's Quest        : Stage Select : 0119
  478. Spud's Adventure      : Stage Select : BANCHOU
  479. Star Trek             : Planet Killer: 3516.7
  480. Super Mario Land 2    : Easy Mode    : [SELECT] at the pipe screen
  481. Tail Gator            : Last Area    : 8093
  482. TMNT                  : Extra Life   : Pause game, then UUDDLRLRBA[START]
  483.                       : Bonus Games  : Holding A+B+[SELECT] press [START] at
  484.                       :              : the config screen [?]
  485. Tetris                : Expert Mode  : D+[START] at the title screen
  486. Turrican              : Stage Select : Holding [SELECT] press [START] at the 
  487.                       :              : title screen   
  488.  
  489.    
  490. ************************* IV. List of the best games *************************
  491.  
  492.   This list is compiled based on the ratings and reviews I got from various
  493. sources. The fact that some game is in the list doesn't necessarily mean that
  494. it is the best game for you; it just means that this game is worth checking
  495. out. I put asterisk (*) next to my personal favorites. For the current
  496. information about the best games, you can refer to the "Nick's GameBoy Game
  497. Ratings List". It also seems to be biased, but let's hope that it will look
  498. better when more people contribute to it. Information about obtaining this
  499. list is in the "GB Resources on the Net" part of this FAQ list.
  500.  
  501. 1. RPGs:
  502.  
  503.   *Final Fantasy Legend            |
  504.   *Final Fantasy Adventure (2MBit) +-----> These seem to be everybody's
  505.   *Final Fantasy Legend 2  (2MBit) |       favorites. 
  506.    Final Fantasy Legend 3  (4MBit?)|
  507.    Zelda: Link's Awakening (4MBit)
  508.  
  509. 2. R-Type-like shoot-em-ups:
  510.  
  511.    Nemesis
  512.   *Gradius: Interstellar Assault (2MBit)
  513.    R-Type
  514.  
  515. 3. Platform Games:
  516.  
  517.   *Metroid II
  518.    SuperMarioLand II (4MBit)
  519.   *Castlevania II: Belmont's Revenge
  520.   *Batman
  521.   *TMNT: Fall of the foot Clan
  522.   *Operation C
  523.    Mega Man 1,2,3
  524.    BattleToads
  525.    Gargoyle's Quest
  526.  
  527. 4. 3D Games:
  528.  
  529.   *Altered Space (platform game)
  530.    Faceball 2000 (shoot-em-up)
  531.  
  532. 5. Sport Games:
  533.  
  534.    Jack Nicklaus Golf
  535.    F-1 Race
  536.  
  537. 6. Logic/Strategy Games:   
  538.  
  539.   *Shanghai
  540.   *Tetris                  
  541.    Chessmaster [watch for revision, there are two of them]
  542.   *Spot
  543.    4-in-1 packs 1 and 2
  544.    Dr. Mario
  545.    Ishido
  546.  
  547. 7. StreetFighter clones:
  548.  
  549.    Mortal Kombat
  550.    Raging Fighter
  551.    
  552. 8. Classical Arcade games:
  553.    
  554.    Asteroids
  555.    Missile Command
  556.    Centipede
  557.    Pacman
  558.    
  559. 9. Flight Simulators:
  560.  
  561.    Turn and Burn
  562.    Top Gun 
  563.  
  564.  
  565. ******************************* V. Game Genie ********************************
  566.  
  567. 1. How it works?
  568.  
  569.   GameGenie allows you to substitute some of the codes in the cartridge ROM
  570. with your own codes. For example, you can substitute the default number of
  571. lives with your own number. GameBoy GameGenie allows to substitute up to three
  572. codes.
  573.  
  574. 2. Where to get the codes?
  575.  
  576.   GameBoy GameGenie codes are available through anonymous FTP at
  577.   
  578.        ftp.netcom.com     directory  /pub/vidgames/gamegenie
  579.  
  580. 3. What is the meaning of the digits in GameGenie code for GameBoy?
  581.  
  582.   * All digits are in hexadecimal system
  583.  
  584.          GameBoy GameGenie Code:     DD2-103-???
  585.          
  586.          DD         - Data Byte
  587.          0,1,2,3    - Address, reads as 3210     
  588.          ???        - Meaning of these digits is unknown.
  589.                       It is suspected that they represent the
  590.                       ROM paging register, but no information
  591.                       is available.
  592.          
  593.    Example: 3D2-ABF-3BE - Set 3Dh (DEC A command) at address F2ABh 
  594.            
  595. 4. Some commonly used Z80 instructions with their codes:
  596.  
  597.   Code(s):  Instruction:       Common Usage:   
  598.    3Eh xxh  - LD A,xxh    Load default number of lives (energy,ammo,etc.)
  599.    3Dh      - DEC A       Decrease number of lives (energy,ammo,etc.)
  600.    3Ch      - INC A       Increase number of lives (energy,ammo,etc.)
  601.    00h      - NOP         DO NOTHING (set this instead of 3Dh)
  602.  
  603. 5. CodeMasters' address and phone number:
  604.  
  605.    Codemasters
  606.    Lower Farm House,              PHONE: +44 926 814132
  607.    Southam,
  608.    Warwickshire.
  609.    CV33 0DL
  610.    UK
  611.  
  612.   * I didn't try calling them. If you get any additional information from
  613.     CodeMasters, please, email it to me
  614.  
  615. 6. Hidden messages in GameGenie:
  616.  
  617.    1. UDLR             2. BALR[SELECT]     3. UUABADD
  618.    4. RUDULUDU         5. BABRLDU          6. AAAABBB[START]
  619.    7. RLRLDDUU         8. ABABAA[SELECT]   9. ALLABRRB
  620.  
  621. 7. Why some GameGenie codes don't work?
  622.  
  623.   Some games exist in several different versions. Although these versions look
  624. exactly the same, the actual program codes differ. Therefore, while some
  625. GameGenie codes work with one version of the cartridge, they aren't guaranteed
  626. to work with other versions.
  627.  
  628.  
  629. **************************** VI. Various Questions ***************************
  630.  
  631. 1. Are there any GameBoy emulators for the personal computers?
  632.   
  633.   YES, there is a GameBoy emulator written by me, Marat Fayzullin. It is
  634. called Virtual GameBoy and can be obtained from
  635.  
  636.   http://www.cs.umd.edu/users/fms/MSX/VGB.html
  637.  
  638.   The Virtual GameBoy is portable. Its distribution includes C source code
  639. which can be compiled on any computer [given that there are system-dependent
  640. drivers for this computer] and a set of sample drivers for Unix/XWindows. For
  641. more information, refer to documentation at above-mentioned WWW.
  642.   There is also a GameBoy-look-alike emulator for the Commodore Amiga called
  643. ToyBoy. This emulator can be obtained via FTP from AmiNet sites:
  644.   
  645.   ftp.luth.se:           /pub/aminet/misc/emu/Gameboy68000.lha
  646.   ftp.etsu.edu:          /aminet/misc/emu/GameBoy68000.lha
  647.   wuarchive.wustl.edu:   /systems/amiga/aminet/misc/emu/Gameboy68000.lha
  648.   
  649.   Unfortunately, this package is incomplete amd HAS NOTHING TO DO with the
  650. real GameBoy. It was stolen from a UK-based company called Argonaut which does
  651. hardware and software development for Nintendo. According to Argonaut's
  652. managing director Jez San, ToyBoy was an in-house emulator written to see how
  653. difficult it would be to program GameBoy games. Since its authors knew nothing
  654. about internals of the real GameBoy when they were writing the emulator,
  655. ToyBoy is completely incompatible with GameBoy.
  656.   
  657. 2. Is it possible to build a backlight into GameBoy?
  658.  
  659.   A Japanese company sells a kit to add the EL-backlight to GameBoy. The kit
  660. costs 5000yen.
  661. (Information provided by Cinnichiro Ichise [ichise@mica.semicon.sony.co.jp])
  662.  
  663. 3. Are there any game copiers for GameBoy?
  664.  
  665.   There is a SmartCard copier allowing to download data from GameBoy cards to
  666. PC via parallel port and store up to 4 games in a 4MBit flash-RAM cartridge.
  667.   There are said to be GameBoy adaptors for MultiGameDoctorII,
  668. MultiGameHunter, SuperWildCard, and SuperComPro.
  669.   Also, there is a device allowing to play games stored on credit card-like
  670. magnetic cards which is produced in Japan and isn't sold in U.S.
  671.  
  672. 4. MultiGame cartridges for GameBoy:
  673.  
  674.   Yes, these cartridges are at least half-illegal because their producers
  675. violate copyright law. Yes, these things exist for GameBoy.
  676.   At present time, there are four kinds of them: 48in1, 64in1, 86in1 and
  677. 105in1 (although there were rumors about 200in1 and even 1500in1 cartridges.
  678. The latter is said to be 15-20 cm long). They all seem to contain the same
  679. basic set of games most of which are either old Nintendo products (like
  680. Alleyway or Tennis) or low-quality games from other companies with a couple of
  681. good games added. Number of games in such a cartridge is actually SMALLER than
  682. the number written on the box because some games are present in two or three
  683. copies (with a number of lives and other things changed). For example, 64in1
  684. cartridge contains only about 48 DISTINCT games. At least 27 of them can be
  685. classified as "logic" or "strategy" games.
  686.   There were many requests to list games multigame cartridges contain. So,
  687. here is a list of games how it appears in a menu of a 105in1 cartridge. Other
  688. multigame cartridges contain subset of games listed below. Notice the large
  689. number of japanese titles and repetitions. There are also some titles which
  690. actually correspond to the same game.
  691.   
  692.   turtle ninja     bouken jima      super mario land    motocross
  693.   penguin land     kid kiki         mickey mouse        crocodile
  694.   dr. mario        solomons club    head on             dr mario
  695.   ishido           battle city      bouken              tennis
  696.   volley fire      boxing           trump boy           klax
  697.   bubble ghost     master karateka  othello             puzzle boy
  698.   hong kong        tetris           minisweeper         heiankyo alien
  699.   bouken 3         flipull          hyper loderunner    amida
  700.   yakuman          match mania      pala medes          world bowling
  701.   loopz            bouken 4         alleyway            koro dice
  702.   puzzle road      spot             castelian           dragon slayer 1
  703.   space invader    snake war        bouken 5            flappy special
  704.   pipe dream       koi wa kakehiki  bouken 6            pitman
  705.   tasmania story   soukoban 2       shanghai            kinkong escape
  706.   arkanoil         ls caste         star gate           bouken 7
  707.   super kid        super turtle     super mario         go tank
  708.   bouken 8         spec mouse       big ghost           excite bike
  709.   penguin egg      spec turtle      adventure 2         tank
  710.   kiki mouse       small ghost      motor bike          adventure
  711.   big penguin      speed runner     bom bom alley       1992 castelian
  712.   thunder force    luck boy         adventure 4         sp turtle
  713.   mario boy        adventure 5      loder runner        sp alley
  714.   sp motocross     adventure 6      sp invader          sp kid kiki 
  715.   easy tasmania    adventure 7      turtle ii           sp mario
  716.   gogo tank        adventure 8      sp mouse            adventure island
  717.   sp penguin       happy boy        happy ghost         bouken boy
  718.   sp tasmania
  719.  
  720. 5. Using GameGenie with multigame cartridges:
  721.  
  722.   No, GameGenie DOES NOT WORK with multigame cartridges.  
  723.  
  724. 6. GameBoy clones:
  725.  
  726.   There seem to be several GameBoy clones produced in Asia. Two of them are
  727. called Sunny and WonderBoy. The only difference is the name printed on the
  728. case. This information was supplied by Simon Lai.
  729.   The Russian GameBoy clone is called Bitman2000, if it is a clone and not a
  730. real GameBoy distributed in Russia under that name.
  731.  
  732. 7. Japanese cartridges:
  733.  
  734.   These are cartridges which are not available in U.S., although you can find
  735. them if you are lucky. Following descriptions of japanese cartridges were
  736. prepared by Mark Kaufman.
  737.  
  738. * Name: Parodius                     Type: Shooter     Producer: Konami  
  739.   Graphics: 10       Sound: 10       Playability: 10   Overall: 10
  740.  
  741.   This is the legendary Japanese shooter to which all others are compared.
  742.   It is awesome, huge, creative, challenging and fun, fun, fun.
  743.  
  744. * Name: Twinbee                      Type: Shooter     Producer: Konami
  745.   Graphics:  9       Sound:  9       Playability:  9   Overall:  9
  746.  
  747.   Another Japanese cart that should be sold over here.  It's better than
  748.   90% of all GB games.
  749.  
  750. 8. Where to get parts to repair GameBoy?
  751.  
  752.   Mark Kaufman found address of the company selling replacement parts for
  753. GameBoy [as well as Sega AC adapters and Atari parts]. Here is their phone
  754. number and a list of GameBoy parts they carry:
  755.  
  756.   MCM Electronics    TOLL-FREE: 1-800-543-4330 
  757.                      FAX:       1-513-434-6959 
  758.                      VOICE:     1-513-434-0031
  759.                      M-F: 7AM-8PM EST  Sat: 9AM-6PM EST
  760.  
  761.   #83-2285   $3.50   Gameboy Type 32 Pin Connector
  762.                      (replace worn or corroded cartridge jack inside GB)
  763.   #83-1570   $1.49   Controller Replacement Pads
  764.                      (set of three)
  765.   #81-1605   $7.95   Schematic Diagrams
  766.                      (THIS should be interesting! =))
  767.   
  768.   Game Bit Drivers (fit tamper resistant star screws):
  769.   #22-1145   $9.95   Small bit for GB cartridge
  770.   #22-1150   $9.95   Large bit for GB battery packs
  771.  
  772. 9. Some time ago, there was a preview of a 3D vectored game for GB 
  773.    called "Lunar Chase" in Nintendo Power magazine. What happened with
  774.    this game?
  775.  
  776.   According to Nintendo, the game was cancelled :(. This information was
  777. obtained from Nintendo hotline [1-800-255-3700 in USA].
  778.  
  779.  
  780. ********************** VII. Programming, Hardware, etc. *********************
  781.  
  782.   Information about GameBoy hardware is extremely hard to find. Most of it
  783. is incomplete, uncertain and vague. If you have any information [especially
  784. about things listed in "Unanswered Questions" section], PLEASE, email it to
  785. fms@wam.umd.edu. The following information is mostly based on a document by
  786. Dr.Pan of Anthrox, but also includes some results of research done by Peter
  787. Knight and myself.
  788.  
  789. 1. Development tools for GameBoy:
  790.  
  791.   There are very few publically accessible development tools available for 
  792. GB. Some of them are:
  793.  
  794.   * SmartCard copier allows to download the code from GB cartridges into
  795.     PC and store up to 4 cartridges in a special 512kB flash-ROM card.
  796.   * Logical analyzers allowing to trace various signals in GB circuitry
  797.     are also very useful for hacking.
  798.   * SNES Magic Disassembler by Dr.Pan is written primarily for SNES, but
  799.     it also allows to disassemble, explore, and change GB code. SMD is
  800.     a shareware and it runs on Amiga.
  801.   * Another GB disassembler for PC is written by HeroZero.
  802.   * Virtual GameBoy emulator by me is a portable emulator written in C.
  803.     The distribution version runs on Unix/X systems, but with proper
  804.     drivers VGB can run on just about anything, given that your machine
  805.     is fast enough. VGB also includes a small disassembler for GB code.
  806.  
  807. 2. GameBoy cartridge pinouts [not complete]:
  808. ------------------------------------------------------------------------------
  809.   Pin    Function
  810. ------------------------------------------------------------------------------
  811.   1      Vcc [+5V]
  812.   2      ? Connected on Gameboy, but not used on GamePaks.
  813.   3      /RESET
  814.   4      /WR
  815.   5      ? Used by paging PAL on high capacity GamePaks.
  816.   6-20   A0-A14
  817.   21     /CS
  818.   22-29  D0-D7
  819.   30     /RD
  820.   31     ? Connected on Gameboy, but not used on Game-Paks.
  821.   32     GND
  822. ------------------------------------------------------------------------------
  823.  
  824. 3. GameBoy CPU:
  825.  
  826.   As it appears, the CPU used in GameBoy is not exactly Z80. Some of Z80
  827. instructions and registers are missing while others are added:
  828.  
  829. * The "shadow" set of registers [BC',DE',HL',AF'] and the index registers
  830.   [IX,IY] are missing and, consequently, there are no DD and FD opcode tables.
  831.  
  832. * I/O ports are gone and so are all IN/OUT opcodes.
  833.  
  834. * HALT is interrupted even when interrupts are disabled.
  835.  
  836. * Following Z80 opcodes are changed:
  837. ------------------------------------------------------------------------------
  838. Code       Z80 operation  GameBoy operation
  839. ------------------------------------------------------------------------------
  840. 08 xx xx   EX AF,AF'      LD (word),SP     Save SP at given address
  841. 10 xx      DJNZ offset    STOP             Meaning unknown
  842. 22         LD (word),HL   LD (HLI),A       Save A at (HL) and increment HL
  843. 2A         LD HL,(word)   LD A,(HLI)       Load A from (HL) and increment HL
  844. 32         LD (word),A    LD (HLD),A       Save A at (HL) and decrement HL
  845. 3A         LD A,(word)    LD A,(HLD)       Load A from (HL) and decrement HL
  846. D3         OUTA (byte)    No operation
  847. D9         EXX            RETI             Enable interrupts and return
  848. DB         INA (byte)     No operation
  849. DD         Prefix DD      No operation
  850. E0 xx      RET PO         LD (byte),A      Save A at (FF00+byte)
  851. E2         JP PO,word     LD (C),A         Save A at (FF00+C)
  852. E3         EX HL,(SP)     No operation
  853. E4         CALL PO,word   No operation
  854. E8 xx      RET PE         ADD SP,offset    Add signed offset to SP
  855. EA xx xx   JP PE,word     LD (word),A      Save A at given address
  856. EB         EX DE,HL       No operation
  857. EC         CALL PE,word   No operation
  858. F0 xx      RET P          LD A,(byte)      Load A from (FF00+byte)
  859. F2         JP P,word      No operation
  860. F4         CALL P,word    No operation
  861. F8 xx      RET M          LDHL SP,offset   Load HL with SP + signed offset
  862. FA xx xx   JP M,word      LD A,(word)      Load A from given address
  863. FC         CALL M,word    No operation
  864. FD         Prefix FD      No operation
  865. ------------------------------------------------------------------------------
  866.  
  867. 4. GameBoy memory map:
  868. --------------------------- FFFF  | 32kB ROMs are non-switchable and occupy
  869.  I/O ports + internal RAM         | 0000-7FFF are. Bigger ROMs use one of two 
  870. --------------------------- FF00  | different bank switches. The type of a
  871.  Internal RAM                     | bank switch can be determined from the 
  872. --------------------------- C000  | internal info area located at 0100-014F
  873.  8kB switchable RAM bank          | in each cartridge.
  874. --------------------------- A000  |
  875.  16kB VRAM                        | MBC1 (Memory Bank Controller 1):
  876. --------------------------- 8000  | Writing a value into 2000-3FFF area will
  877.  16kB switchable ROM bank         | select an appropriate ROM bank at
  878. --------------------------- 4000  | 4000-7FFF. Writing a value into 4000-5FFF
  879.  16kB ROM bank #0                 | area will select an appropriate RAM bank 
  880. --------------------------- 0000  | at A000-C000.
  881.                                   |
  882.                                   | MBC2 (Memory Bank Controller 2):
  883.                                   | Writing a value into 2100-21FF area will
  884.                                   | select an appropriate ROM bank at
  885.                                   | 4000-7FFF. RAM switching is not provided.
  886.  
  887. 5. Internal information area:
  888.  
  889.   The internal information area is located at 0100-014F in each cartridge. It
  890. contains following values:
  891.  
  892. 0100-0103  A sequence of bytes 00 C3 xx xx where last two bytes contain the
  893.            starting address of a cartridge [lower byte first]. The first two
  894.            bytes of this sequence can be used as a "magic number" to
  895.            recognize GameBoy cartridges. When GameBoy starts, the control is
  896.            passed to address 0100 and then the sequence is interpreted as
  897.            NOP; JP <addr>.
  898. 0105-0133  Nintendo character area:
  899.            CE ED 66 66 CC 0D 00 0B 03 73 00 83 00 0C 00 0D
  900.            00 08 11 1F 88 89 00 0E DC CC 6E E6 DD DD D9 99
  901.            BB BB 67 63 6E 0E EC CC DD DC 99 9F BB B9 33 3E
  902. 0134-0143  Title of the game in ASCII terminated by zeroes
  903. 0144-0146  Not used
  904. 0147       Cartridge type:
  905.            0 - ROM ONLY         3 - ROM+MBC1+RAM+BATTERY
  906.            1 - ROM+MBC1         5 - ROM+MBC2
  907.            2 - ROM+MBC1+RAM     6 - ROM+MBC2+BATTERY
  908. 0148       ROM size:
  909.            0 - 256kBit =  32kB =  2 banks
  910.            1 - 512kBit =  64kB =  4 banks
  911.            2 -   1MBit = 128kB =  8 banks
  912.            3 -   2MBit = 256kB = 16 banks
  913.            4 -   4MBit = 512kB = 32 banks
  914. 0149       RAM size:
  915.            0 - None 
  916.            1 -  16kBit =  2kB = 1 bank
  917.            2 -  64kBit =  8kB = 1 bank
  918.            3 - 256kBit = 32kB = 4 banks
  919. 0150-0151  Manufacturer code:
  920.            3301 - Nintendo 
  921.            7901 - Accolade       
  922.            A400 - Konami     
  923. 014C       Version number
  924. 014D       Complement check
  925. 014E-014F  Checksum [higher byte first] produced by adding all bytes of
  926.            a cartridge except for two checksum bytes together and taking
  927.            two lower bytes of the result.
  928.  
  929. 6. Video controller:
  930.  
  931.   Main GameBoy screen buffer [aka background] consists of 256x256 pixels or
  932. 32x32 tiles [8x8 pixels each]. Only 160x144 pixels can be displayed on the
  933. screen. Registers SCROLLX and SCROLLY hold the coordinates of background to be
  934. displayed in the left upper corner of the screen. Background wraps around the
  935. screen i.e. when part of it goes off the screen, it appears on the opposite
  936. side.
  937.   An area of VRAM known as Background Tile Table contains the numbers of tiles
  938. to be displayed. It is organized as 32 rows of 32 bytes each. Each byte
  939. contains a number of a tile to be displayed. Tile patterns are taken from the
  940. Tile Pattern Table located either at 8000-8FFF or 8800-97FF. In the first
  941. case, patterns are numbered with unsigned numbers from 0 to 255 [i.e. pattern
  942. #0 lies at address 8000]. In the second case, patterns have signed numbers
  943. from -128 to 127 [i.e. pattern #0 lies at address 9000]. The Tile Pattern
  944. Table address for the background can be selected via LCDCONT register.
  945.   Besides background, there is also a "window" overlaying the background. The
  946. window is not scrollable i.e. it is always displayed starting from its left
  947. upper corner. The location of a window on the screen can be adjusted via
  948. WNDPOSX and WNDPOSY registers. Screen coordinates of the top left corner of a
  949. window are WNDPOSX-7,WNDPOSY. The tile numbers for the window are stored in
  950. the Window Tile Table in the same way as background tiles are stored in the
  951. Background Tile Table. The tile patterns are taken from the table at 
  952. 8800-97FF and therefore have unsigned numbers.
  953.   Both background and window can be disabled or enabled separately via bits
  954. in the LCDCONT register. There is also a special bit allowing to make window
  955. "transparent". When window is transparent, pixels of color #0 are not being
  956. displayed. 
  957.  
  958.                0                Background                255
  959.               0+--------------------------------------------+
  960.                |             ^                              |
  961.                |             |                              |
  962.                |             | SCROLLY                      |
  963.                |             |                              |
  964.                |           0 v  Physical Screen   159       |
  965.                |          0+------------------------+       |
  966.                |           |              ^         |       |
  967.                |           |              |         |       |
  968.                |  SCROLLX  |              | WNDPOSY |       |
  969.                |<--------->|              |         |       |
  970.                |           |              v         |       |
  971.                |           |             +----------+       |
  972.                |           |  WNDPOSX-7  |          |       |
  973.                |           |<----------->|  Window  |       |
  974.                |           |             |          |       |
  975.                |        143+-------------+----------+       |
  976.                |                                            |
  977.                |                                            |
  978.                |                                            |
  979.             255+--------------------------------------------+
  980.  
  981.   The tile images are stored in the Tile Pattern Tables. Each 8x8 image
  982. occupies 16 bytes, where each 2 bytes represent a line:
  983.  
  984.   Tile:                                              Image:
  985.  
  986.   .33333..                               .33333.. -> 01111100 -> 7Ch
  987.   22...22.                                           01111100 -> 7Ch
  988.   11...11.                               22...22. -> 00000000 -> 00h
  989.   2222222. <-- digits represent                      11000110 -> C6h
  990.   33...33.     color numbers             11...11. -> 11000110 -> C6h
  991.   22...22.                                           00000000 -> 00h
  992.   11...11.                               2222222. -> 00000000 -> 00h
  993.   ........                                           11111110 -> FEh
  994.                                          33...33. -> 11000110 -> C6h
  995.                                                      11000110 -> C6h
  996.                                          22...22. -> 00000000 -> 00h
  997.                                                      11000110 -> C6h
  998.                                          11...11. -> 11000110 -> C6h
  999.                                                      00000000 -> 00h
  1000.                                          ........ -> 00000000 -> 00h
  1001.                                                      00000000 -> 00h
  1002.  
  1003.   As it was said before, there are two Tile Pattern Tables at 8000-8FFF and at
  1004. 8800-97FF. The first one can be used for sprites and the background. Its tiles
  1005. are numbered from 0 to 255. The second table can be used for the background
  1006. and the window display and its tiles are numbered from -128 to 127.
  1007.   GameBoy video controller can also display up to 40 sprites either in 8x8 or
  1008. in 8x16 mode. Sprite patterns have the same format as tiles, but they are
  1009. taken from the Sprite Pattern Table located at 8000-8FFF and therefore have
  1010. unsigned numbers. Sprite attributes reside in the Sprite Attribute Table [aka
  1011. OAM] at FE00-FE9F. OAM is divided into 40 4-byte blocks each of which
  1012. corresponds to a sprite. Blocks have the following format:
  1013.  
  1014.   Byte0  Y position on the screen
  1015.   Byte1  X position on the screen
  1016.   Byte2  Pattern number 0-255 [notice that unlike tile numbers, sprite
  1017.          pattern numbers are unsigned] 
  1018.   Byte3  Flags:
  1019.          Bit7  Priority
  1020.                Sprite is displayed in front of the window if this bit
  1021.                is set to 1. Otherwise, sprite is shown behind the
  1022.                window but in front of the background.
  1023.          Bit6  Y flip
  1024.                Sprite pattern is flipped vertically if this bit is
  1025.                set to 1.
  1026.          Bit5  X flip
  1027.                Sprite pattern is flipped horizontally if this bit is
  1028.                set to 1.
  1029.          Bit4  Palette number
  1030.                Sprite colors are taken from OBJ1PAL if this bit is
  1031.                set to 1 and from OBJ0PAL otherwise.
  1032.  
  1033. 7. GameBoy Sound:
  1034.  
  1035.   There are two sound channels connected to the output terminals SO1 and SO2.
  1036. There is also a input terminal Vin connected to the cartridge. It can be
  1037. routed to either of both output terminals. GameBoy circuitry allows produces
  1038. sound in four different ways:
  1039.  
  1040.   1. Quadrangular wave patterns with sweep and envelope functions
  1041.   2. Quadrangular wave patterns with envelope functions
  1042.   3. Voluntary wave pattern
  1043.   4. White noise
  1044.  
  1045.   These four sounds can be controlled independantly and then mixed separately
  1046. for each of the output terminals.
  1047.  
  1048. 8. GameBoy I/O ports:
  1049.  
  1050.   I/O ports are mapped to memory locations in FF00-FFFF area:
  1051. ------------------------------------------------------------------------------
  1052. FF00 -- JOYPAD [RW] Joypad port
  1053.       Bit5   Bit4    | In order to scan the keys, output 0 into either Bit4
  1054. Bit3  DOWN   START   | or Bit5 of JOYPAD, wait for some time and read JOYPAD.
  1055. Bit2  UP     SELECT  | Bits 0-3 will be set to zeroes if corresponding
  1056. Bit1  LEFT   B       | buttons are pressed. Bits 6 and 7 are not used. Bits
  1057. Bit0  RIGHT  A       | 0-3 are connected to input lines P10-P13. Bits 4 and 5
  1058.                      | are connected to ouput lines P14 and P15.
  1059.  
  1060.         Example:
  1061.         ; Routine finding which buttons were pressed since the last check
  1062.         LD A,20h     ; Set 0 at the output line P14
  1063.         LD (FF00h),A ; 
  1064.         LD A,(FF00h) ; Read JOYPAD several times to accomodate the noise
  1065.         LD A,(FF00h) ;
  1066.         CPL          ; Bits 0-3 are now 1s if corresponding buttons pressed
  1067.         AND 0Fh      ; Extract lower 4 bits carrying button status...
  1068.         SWAP A       ; ...and move them into upper for bits
  1069.         LD B,A       ; At this point: B = START.SELECT.B.A.x.x.x.x
  1070.         LD A,10h     ; Set 0 at the output line P15
  1071.         LD (FF00h),A ;
  1072.         LD A,(FF00h) ; Read JOYPAD several times to accomodate the noise
  1073.         LD A,(FF00h) ;
  1074.         LD A,(FF00h) ;
  1075.         LD A,(FF00h) ;
  1076.         LD A,(FF00h) ;
  1077.         LD A,(FF00h) ;
  1078.         CPL          ; Bits 0-3 are now 1s if corresponding buttons pressed
  1079.         AND 0Fh      ; Extract lower 4 bits carrying buttons' status...
  1080.         OR B         ; ...and combine them with 4 other button status bits
  1081.         LD D,A       ; At this point: D = START.SELECT.B.A.DOWN.UP.LEFT.RIGHT
  1082.         LD A,(FF8Bh) ; Read old button status from RAM
  1083.         XOR D        ; Set 1s for buttons whose status has changed
  1084.         AND D        ; Extract buttons which were *pressed* since last check
  1085.         LD (FF8Ch),A ; Save information of those buttons
  1086.         LD A,D       ; Update button status in RAM
  1087.         LD (FF8Bh),A ;
  1088.         LD A,30h     ; Set 1s at both P14 and P15 lines
  1089.         LD (FF00h),A ; [probably to reset the circuitry]
  1090.  
  1091. ------------------------------------------------------------------------------
  1092. FF01 -- SIODATA [RW] Serial I/O Data
  1093. ----------------------------------------------+---------------+---------------
  1094. FF02 -- SIOCONT [RW] Serial I/O Control       | when set to 1 | when set to 0
  1095. Bit7  Transfer start flag                     | START         | NO TRANSFER
  1096. Bit0  Serial I/O clock select                 | INTERNAL      | EXTERNAL
  1097. ----------------------------------------------+---------------+---------------
  1098. FF04 -- DIVIDER [RW] Divider [meaning unknown]
  1099. ------------------------------------------------------------------------------
  1100. FF05 -- TIMECNT [RW] Timer Counter
  1101.         This register contains constantly increasing number. The timer
  1102.         interrupt occurs when this register overflows.
  1103. ------------------------------------------------------------------------------
  1104. FF06 -- TIMEMOD [RW] Timer Modulo
  1105.         The contents of TIMEMOD are loaded into TIMECNT every time TIMECNT
  1106.         overflows.
  1107. ----------------------------------------------+---------------+---------------
  1108. FF07 -- TIMCONT [RW] Timer Control            | when set to 1 | when set to 0 
  1109. Bit2    Start/Stop timer                      | COUNTING      | STOPPED
  1110. Bit1-0  Timer clock select:
  1111.   00 - 4096Hz    01 - 262144Hz    10 - 65536Hz    11 - 16384Hz
  1112. ----------------------------------------------+---------------+---------------
  1113. FF0F -- IFLAGS [RW] Interrupt Flags           | when set to 1 | when set to 0
  1114. Bit4  Transition High->Low on pins P10-P13    | OCCURED       | NO
  1115. Bit3  End of serial I/O transfer              | OCCURED       | NO 
  1116. Bit2  Timer overflow                          | OCCURED       | NO
  1117. Bit1  LCD controller interrupt [see LCDSTAT]  | OCCURED       | NO
  1118. Bit0  LCD vertical blanking impulse           | OCCURED       | NO
  1119. ----------------------------------------------+---------------+---------------
  1120. FF10 -- SNDREG10 [RW] Sweep [Sound Mode #1]
  1121. Bit6-4  Sweep time:
  1122.   000: SWEEP OFF    010: 15.6ms    100: 31.3ms    110: 46.9ms
  1123.   001: 7.8ms        011: 23.4ms    101: 39.1ms    111: 54.7ms
  1124. Bit3    Frequency increase[0]/decrease[1]
  1125. Bit2-0  Number of shifts
  1126. ------------------------------------------------------------------------------
  1127. FF11 -- SNDREG11 [RW] Sound Length/Pattern Duty [Sound Mode #1]
  1128. Bit7-6  Wave Pattern Duty [only these bits can be read]:
  1129.   00: 12.5%    01: 25%    10: 50%    11: 75%
  1130. Bit5-0  Length of sound data
  1131. ------------------------------------------------------------------------------
  1132. FF12 -- SNDREG12 [RW] Control [Sound Mode #1]
  1133. Bit7-4  Initial value of envelope
  1134. Bit3    Envelope up[1]/down[0]
  1135. Bit2-0  Number of envelope sweep
  1136. ------------------------------------------------------------------------------
  1137. FF13 -- SNDREG13 [W] Frequency Low [Sound Mode #1]
  1138.         Lower 8 bits of the 11bit frequency. Higher 3 bits are in SNDREG14.
  1139. ------------------------------------------------------------------------------
  1140. FF14 -- SNDREG14 [RW] Frequency High [Sound Mode #1]
  1141. Bit7    When 1 is written into this bit, sound restarts
  1142. Bit6    Counter/Consecutive selection [only this bit can be read]
  1143. Bit2-0  Higher 3 bits of the 11bit frequency
  1144. ------------------------------------------------------------------------------
  1145. FF16 -- SNDREG21 [RW] Sound Length/Pattern Duty [Sound Mode #2]
  1146. Bit7-6  Wave Pattern Duty [only these bits can be read]:
  1147.   00: 12.5%    01: 25%    10: 50%    11: 75%
  1148. Bit5-0  Length of sound data
  1149. ------------------------------------------------------------------------------
  1150. FF17 -- SNDREG22 [RW] Control [Sound Mode #2]
  1151. Bit7-4  Initial value of envelope
  1152. Bit3    Envelope up[1]/down[0]
  1153. Bit2-0  Number of envelope step
  1154. ------------------------------------------------------------------------------
  1155. FF18 -- SNDREG23 [W] Frequency Low [Sound Mode #2]
  1156.         Lower 8 bits of the 11bit frequency. Higher 3 bits are in SNDREG24.
  1157. ------------------------------------------------------------------------------
  1158. FF19 -- SNDREG24 [RW] Frequency High [Sound Mode #2]
  1159. Bit7    When 1 is written into this bit, sound restarts
  1160. Bit6    Counter/Consecutive selection [only this bit can be read]
  1161. Bit2-0  Higher 3 bits of the 11bit frequency
  1162. ------------------------------------------------------------------------------
  1163. FF1A -- SNDREG30 [RW] Control [Sound Mode #3]
  1164. Bit7    Sound on[1]/off[0]
  1165. ------------------------------------------------------------------------------
  1166. FF1B -- SNDREG31 [RW] Sound Length [Sound Mode #3]
  1167. ------------------------------------------------------------------------------
  1168. FF1C -- SNDREG32 [RW] Output Level [Sound Mode #3]
  1169. Bit6-5  Output Level:
  1170.   00: MUTE    01: 100%    10: 50%    11: 25% 
  1171. ------------------------------------------------------------------------------
  1172. FF1D -- SNDREG33 [W] Frequency Low [Sound Mode #3]
  1173.         Lower 8 bits of the 11bit frequency. Higher 3 bits are in SNDREG34.
  1174. ------------------------------------------------------------------------------
  1175. FF1E -- SNDREG34 [RW] Frequency High [Sound Mode #3]
  1176. Bit7    When 1 is written into this bit, sound restarts
  1177. Bit6    Counter/Consecutive selection [only this bit can be read]
  1178. Bit2-0  Higher 3 bits of the 11bit frequency
  1179. ------------------------------------------------------------------------------
  1180. FF20 -- SNDREG41 [RW] Sound Length/Pattern Duty [Sound Mode #4]
  1181. Bit5-0  Length of sound data
  1182. ------------------------------------------------------------------------------
  1183. FF21 -- SNDREG42 [RW] Control [Sound Mode #4]
  1184. Bit7-4  Initial value of envelope
  1185. Bit3    Envelope up[1]/down[0]
  1186. Bit2-0  Number of envelope step
  1187. ------------------------------------------------------------------------------
  1188. FF22 -- SNDREG43 [RW] Polynomial Counter [Sound Mode #4]
  1189. Bit7-4  Shift clock frequency for the counter
  1190.   0000: Dividing ratio of frequencies / 2
  1191.   0001: Dividing ratio of frequencies / 2^2
  1192.   0010: Dividing ratio of frequencies / 2^3
  1193.   ....  ....
  1194.   1101: Dividing ratio of frequencies / 2^14
  1195.   1100: Prohibited
  1196.   1111: Prohibited
  1197. Bit3    Number of steps: 7 [1]/15 [0]
  1198. Bit2-0  Dividing ratio of frequences
  1199.   000: f*2    010: f/2    100: f/4    110: f/6    where f = 4.194304Mhz/8 
  1200.   001: f*1    011: f/3    101: f/5    111: f/7
  1201. ------------------------------------------------------------------------------
  1202. FF23 -- SNDREG44 [RW] Frequency High [Sound Mode #4]
  1203. Bit7    When 1 is written into this bit, sound restarts
  1204. Bit6    Counter/Consecutive selection [only this bit can be read]
  1205. ------------------------------------------------------------------------------
  1206. FF24 -- SNDREG50 [RW] Channel and Volume Control
  1207. Bit7    Vin -> SO2 on[1]/off[0]
  1208. Bit6-4  Volume on SO2
  1209. Bit3    Vin -> SO1 on[1]/off[0]
  1210. Bit2-0  Volume on SO1
  1211. ------------------------------------------------------------------------------
  1212. FF25 -- SNDREG51 [RW] Sound Output Terminal Selector
  1213. Bit7  Sound 4 -> SO2  |
  1214. Bit6  Sound 3 -> SO2  |
  1215. Bit5  Sound 2 -> SO2  | SO1 and SO2 are two sound outputs connected to the
  1216. Bit4  Sound 1 -> SO2  | headphones. Vin is an input terminal in the cartridge
  1217. Bit3  Sound 4 -> SO1  | slot.
  1218. Bit2  Sound 3 -> SO1  |
  1219. Bit1  Sound 2 -> SO1  |
  1220. Bit0  Sound 1 -> SO1  |
  1221. ----------------------+-------------------------------------------------------
  1222. FF26 -- SNDREG52 [RW] Sound ON/OFF
  1223. Bit7  All sound on[1]/off[0]
  1224. Bit3  Sound 4 on[1]/off[0]
  1225. Bit2  Sound 3 on[1]/off[0]
  1226. Bit1  Sound 2 on[1]/off[0]
  1227. Bit0  Sound 1 on[1]/off[0]
  1228. ----------------------------------------------+---------------+---------------
  1229. FF40 -- LCDCONT [RW] LCD Control              | when set to 1 | when set to 0
  1230. Bit7  LCD operation                           | ON            | OFF
  1231. Bit6  Window Tile Table address               | 9C00-9FFF     | 9800-9BFF
  1232. Bit5  Window display                          | ON            | OFF
  1233. Bit4  Tile Pattern Table address              | 8000-8FFF     | 8800-97FF
  1234. Bit3  Background Tile Table address           | 9C00-9FFF     | 9800-9BFF
  1235. Bit2  Sprite size                             | 8x16          | 8x8
  1236. Bit1  Color #0 transparency in the window     | SOLID         | TRANSPARENT
  1237. Bit0  Background display                      | ON            | OFF
  1238. ----------------------------------------------+---------------+---------------
  1239. FF41 -- LCDSTAT [RW] LCD Status               | when set to 1 | when set to 0
  1240. Bit6    Interrupt on scanline coincidence     | ON            | OFF
  1241. Bit5    Interrupt on controller mode 10       | ON            | OFF
  1242. Bit4    Interrupt on controller mode 01       | ON            | OFF
  1243. Bit3    Interrupt on controller mode 00       | ON            | OFF
  1244. Bit2    Scanline coincidence flag             | COINCIDENCE   | NO COINCIDENCE 
  1245. Bit1-0  LCD Controller mode:
  1246.   00 - Horizontal blanking impulse [VRAM 8000-9FFF can be accessed by CPU]
  1247.   01 - Vertical blanking impulse [VRAM 8000-9FFF can be accessed by CPU]
  1248.   10 - OAM FE00-FE90 is accessed by LCD controller
  1249.   11 - Both OAM FE00-FE90 and VRAM 8000-9FFF are accessed by LCD controller
  1250. ------------------------------------------------------------------------------
  1251. FF42 -- SCROLLY [RW] Background Vertical Scrolling
  1252. ------------------------------------------------------------------------------
  1253. FF43 -- SCROLLX [RW] Background Horizontal Scrolling
  1254. ------------------------------------------------------------------------------
  1255. FF44 -- CURLINE [RW] Current Scanline
  1256.         This register contains the number of a screen line currently being
  1257.         scanned. It can take values 0-153 where 144-153 indicate the vertical
  1258.         blanking period. Writing into this register resets it.
  1259. ------------------------------------------------------------------------------
  1260. FF45 -- CMPLINE [RW] Scanline Comparison
  1261.         When contents of CURLINE are equal to contents of CMPLINE, scanline
  1262.         coincidence flag is set in the LCD status register and an interrupt
  1263.         may occur.
  1264. ------------------------------------------------------------------------------
  1265. FF47 -- BGRDPAL [W] Background Palette
  1266. Bit7-6  Palette for color #3  |
  1267. Bit5-4  Palette for color #2  |     00 ------- 01 ------- 10 -------> 11
  1268. Bit3-2  Palette for color #1  |     lightest                     darkest
  1269. Bit1-0  Palette for color #0  |
  1270. ------------------------------+-----------------------------------------------
  1271. FF48 -- OBJ0PAL [W] Sprite Palette #0
  1272. Bit7-6  Palette for color #3  |
  1273. Bit5-4  Palette for color #2  |     00 ------- 01 ------- 10 -------> 11
  1274. Bit3-2  Palette for color #1  |     lightest                     darkest
  1275. Bit1-0  Palette for color #0  |
  1276. ------------------------------+-----------------------------------------------
  1277. FF49 -- OBJ1PAL [W] Sprite Palette #1
  1278. Bit7-6  Palette for color #3  |
  1279. Bit5-4  Palette for color #2  |     00 ------- 01 ------- 10 -------> 11
  1280. Bit3-2  Palette for color #1  |     lightest                     darkest
  1281. Bit1-0  Palette for color #0  |
  1282. ------------------------------+-----------------------------------------------
  1283. FF4A -- WNDPOSY [RW] Window Y Position
  1284.         WNDPOSY may assume values 0-143. It determines the vertical position
  1285.         of the left upper corner of a window on the screen.
  1286. ------------------------------------------------------------------------------
  1287. FF4B -- WNDPOSX [RW] Window X Position
  1288.         WNDPOSX may assume values 7-166. It determines the horizontal position
  1289.         of the left upper corner of a window on the screen. The real position
  1290.         is WNDPOSX-7.
  1291. ------------------------------------------------------------------------------
  1292. FF46 -- DMACONT [W] DMA Transfer Control
  1293.         Writing to this register will cause a DMA transfer into OAM located
  1294.         at FE00-FE9F. The written value determines the source address in a
  1295.         following way: 00 -> 0000, 01 -> 0100, ... , 9A -> 9A00, ...
  1296.         The DMA transfer takes about 160 nanoseconds.
  1297.  
  1298.         Example:
  1299.         ; Routine transferring 0400-049F into OAM
  1300.         DI           ; Disable interrupts
  1301.         LD A,04h     ; Transferring data from 0400h 
  1302.         LD (FF46h),A ; Start DMA transfer
  1303.   LOOP: LD A,#40     ; Wait
  1304.         DEC A        ;
  1305.         JR NZ,LOOP   ;
  1306.         EI           ; Enable interrupts
  1307.  
  1308. ----------------------------------------------+---------------+---------------
  1309. FFFF -- ISWITCH [RW] Interrupt Enable/Disable | when set to 1 | when set to 0
  1310. Bit4  Transition High->Low on pins P10-P13    | ENABLED       | DISABLED
  1311. Bit3  End of serial I/O transfer              | ENABLED       | DISABLED
  1312. Bit2  Timer overflow                          | ENABLED       | DISABLED
  1313. Bit1  LCD controller interrupt [see LCDSTAT]  | ENABLED       | DISABLED
  1314. Bit0  LCD vertical blanking impulse           | ENABLED       | DISABLED
  1315. ----------------------------------------------+---------------+---------------
  1316.  
  1317.  
  1318. *********************************** Credits: *********************************
  1319.  
  1320.   Thanks to all people who sent their comments and 
  1321.   contributed to this document!     (list follows)
  1322.  
  1323.   Dr.Pan of Anthrox  - Excellent GameBoy hardware description
  1324.   Mark Kaufman       - Cheats for Faceball 2000 and passwords Pipe Dream.
  1325.                        Descriptions and ratings of some games. MCM
  1326.                        Electrionics' phone numbers. 
  1327.   Yi-Min Wei         - Comments about software sections of the FAQ.
  1328.   Kelly Gillilan     - Excellent list of cheats and passwords.
  1329.                        Tecmo Bowl codes. CodeMasters' phone number.
  1330.   Peter Knight       - Cartridge pinouts and a memory map. Codemasters'
  1331.                        address.
  1332.   Jim Hsu            - List of passwords and codes and MK cheat.
  1333.   Jez San [Argonaut] - Information about Argonaut's ToyBoy emulator.
  1334.   Timothy A. Meushaw - Mortal Kombat cheat.
  1335.   Robert Newman      - Various cheats and codes.
  1336.   M. S. Manley       - Maintaining GB mailing list and mail-server.
  1337.   G. L. Sicherman    - Krusty's Fun House passwords.
  1338.   Jack Skipper       - Sound test cheats for FFLI and FFLII.
  1339.   Andy Eddy          - Maintaining FAQ archive at ftp.netcom.com.
  1340.   Simon Lai          - Info on Thailand GB clones and 1500in1 cart.
  1341.   Josef Mollers      - Info on GB cartridge pinouts.
  1342.   Herl Lindgreen     - Prince of Persia password construction.
  1343.   G. L. Sicherman    - Speedy Gonzales passwords.
  1344.   Jim Banks          - Warioland cheat.
  1345.   Nick Paiement      - Game ratings
  1346.   Leo Davidson       - Monster Max passwords
  1347.  
  1348.  
  1349. **************************** UNANSWERED QUESTIONS ************************
  1350.  
  1351.   If you have any information about GameBoy, feel free to send email to
  1352.   
  1353.                              Marat Fayzullin (FMS)
  1354.                                 fms@wam.umd.edu
  1355.  
  1356. 1.  Meaning of the last three digits of GameGenie code?
  1357. 2.  Pinouts of the GameBoy cartridges?
  1358. 3.  Connecting GameBoy to TV?
  1359. 4.  GameGenie codes not listed in the official updates?
  1360. 5.  Game cheats and passwords?
  1361. 6.  GameBoy emulators?
  1362. 7.  Classified listings of the games with ratings from 0 to 9?
  1363. 8.  Game Copiers for GameBoy?
  1364. 9.  "Generic" cartridges allowing to use reprogrammable ROM plugged
  1365.     into a socket or even a static RAM?
  1366. 10. Pinouts of GameBoy's serial port?
  1367. 11. etc. etc. etc.
  1368.  
  1369. * Reviews: Please, send your reviews of GB games. Rate four categories:
  1370.  
  1371.                 Graphics   Sound   Playability   Overall
  1372.  
  1373.   Give ratings from 0 to 9 for each of these categories. Also, classify the
  1374. game [RPG, shoot-em-up, classic, etc.] and give information about the
  1375. cartridge size and manufacturer. Games which get more than 2 ratings from
  1376. different people, will be mentioned in the FAQ. I still couldn't collect
  1377. enough of these raitings to come to any conclusions.
  1378.  
  1379.